{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "start_time": "2023-07-04T14:38:00.636209Z",
     "end_time": "2023-07-04T14:38:02.500227Z"
    }
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from tqdm import tqdm # tqdm是显示循环进度条的库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "outputs": [],
   "source": [
    "class CliffWalkingEnv:\n",
    "    def __init__(self,ncol,nrow):\n",
    "        self.nrow = nrow\n",
    "        self.ncol = ncol\n",
    "        self.x = 0  # 记录当前智能体位置的横坐标\n",
    "        self.y = self.nrow - 1  # 记录当前智能体位置的纵坐标\n",
    "\n",
    "    def step(self,action):\n",
    "        # 外部调用这个函数来改变当前位置\n",
    "        # 定义在左上角\n",
    "        change = [[0, -1], [0, 1], [-1, 0], [1, 0]]\n",
    "        self.x = min(self.ncol - 1, max(0, self.x + change[action][0]))\n",
    "        self.y = min(self.nrow - 1, max(0, self.y + change[action][1]))\n",
    "        next_state = self.y * self.ncol + self.x\n",
    "        reward = -1\n",
    "        done = False\n",
    "        if self.y == self.nrow - 1 and self.x > 0:\n",
    "            done = True\n",
    "            if self.x != self.ncol - 1:\n",
    "                reward = -100\n",
    "        return next_state, reward, done\n",
    "    def reset(self): #回归初始状态，坐标轴原点在左上角\n",
    "        self.x = 0\n",
    "        self.y = self.nrow - 1\n",
    "        return self.y * self.ncol + self.x"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "start_time": "2023-07-04T14:38:09.990450Z",
     "end_time": "2023-07-04T14:38:10.027352Z"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [],
   "source": [
    "class QLearning:\n",
    "    \"\"\" Q-learning算法 \"\"\"\n",
    "    def __init__(self, ncol, nrow, epsilon, alpha, gamma, n_action=4):\n",
    "        self.Q_table = np.zeros([nrow * ncol, n_action])  # 初始化Q(s,a)表格\n",
    "        self.n_action = n_action  # 动作个数\n",
    "        self.alpha = alpha  # 学习率\n",
    "        self.gamma = gamma  # 折扣因子\n",
    "        self.epsilon = epsilon  # epsilon-贪婪策略中的参数\n",
    "\n",
    "    def take_action(self, state):  #选取下一步的操作\n",
    "        if np.random.random() < self.epsilon:\n",
    "            action = np.random.randint(self.n_action)\n",
    "        else:\n",
    "            action = np.argmax(self.Q_table[state])\n",
    "        return action\n",
    "\n",
    "    def best_action(self, state):  # 用于打印策略\n",
    "        Q_max = np.max(self.Q_table[state])\n",
    "        a = [0 for _ in range(self.n_action)]\n",
    "        for i in range(self.n_action):\n",
    "            if self.Q_table[state, i] == Q_max:\n",
    "                a[i] = 1\n",
    "        return a\n",
    "\n",
    "    def update(self, s0, a0, r, s1):\n",
    "        \"\"\"\n",
    "        核心策略\n",
    "        :param s0:\n",
    "        :param a0:\n",
    "        :param r:\n",
    "        :param s1:\n",
    "        :return:\n",
    "        \"\"\"\n",
    "        td_error = r + self.gamma * self.Q_table[s1].max(\n",
    "        ) - self.Q_table[s0, a0]\n",
    "        self.Q_table[s0, a0] += self.alpha * td_error"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "start_time": "2023-07-04T14:40:04.928260Z",
     "end_time": "2023-07-04T14:40:04.928260Z"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Iteration 0: 100%|██████████| 50/50 [00:00<00:00, 808.60it/s, episode=50, return=-105.700]\n",
      "Iteration 1: 100%|██████████| 50/50 [00:00<00:00, 1392.08it/s, episode=100, return=-70.900]\n",
      "Iteration 2: 100%|██████████| 50/50 [00:00<00:00, 1222.56it/s, episode=150, return=-56.500]\n",
      "Iteration 3: 100%|██████████| 50/50 [00:00<00:00, 1566.72it/s, episode=200, return=-46.500]\n",
      "Iteration 4: 100%|██████████| 50/50 [00:00<00:00, 2179.79it/s, episode=250, return=-40.800]\n",
      "Iteration 5: 100%|██████████| 50/50 [00:00<00:00, 1928.31it/s, episode=300, return=-20.400]\n",
      "Iteration 6: 100%|██████████| 50/50 [00:00<00:00, 2949.29it/s, episode=350, return=-45.700]\n",
      "Iteration 7: 100%|██████████| 50/50 [00:00<00:00, 2506.76it/s, episode=400, return=-32.800]\n",
      "Iteration 8: 100%|██████████| 50/50 [00:00<00:00, 2785.14it/s, episode=450, return=-22.700]\n",
      "Iteration 9: 100%|██████████| 50/50 [00:00<00:00, 3342.34it/s, episode=500, return=-61.700]\n"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAHHCAYAAAC1G/yyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADHw0lEQVR4nOydd5gURf7G356ZTYRdcpIsCoKCioqAKCgHep7pPP2dp56Y45n1DCeGU/GMp55nOAOmM+udnhEVVBQjSVBQlCQ57i6wcaZ/f8x2T1V1VXV1T8/uwH4/zwM7011dXdPT0/32N5Vl27YNgiAIgiAIAgAQa+oBEARBEARB5BMkjgiCIAiCIBhIHBEEQRAEQTCQOCIIgiAIgmAgcUQQBEEQBMFA4oggCIIgCIKBxBFBEARBEAQDiSOCIAiCIAgGEkcEQRAEQRAMJI4IYjvBsizccMMNTT0MX3r37o0JEyY09TDyhgkTJqB3797cMtl3+dVXX2HEiBFo2bIlLMvC7NmzAQDvvPMO9txzTxQXF8OyLGzevLlRxq1i9OjRGD16tPt+2rRpsCwLL7/8sna7yZMnw7IsLFmyJLcDJIgIIHFEEDlm/vz5OOmkk7DTTjuhqKgI3bp1w0knnYTvvvuuqYdGZEFFRQVuvPFGDBkyBK1atUJJSQl23313/PnPf8bKlSsD9VVXV4fjjjsOGzduxD333IOnn34avXr1woYNG3D88cejpKQEDzzwAJ5++mm0bNnSs/2LL74Iy7Lw2muvedYNGTIElmVh6tSpnnU9e/bEiBEjAo2VIJoDiaYeAEHsyLz66qs44YQT0K5dO5x++uno06cPlixZgsceewwvv/wyXnjhBRx11FFNPcxIWbhwIWKxHfu56+eff8bYsWOxbNkyHHfccTjrrLNQWFiIuXPn4rHHHsNrr72GH374Qbl9VVUVEonM5fenn37C0qVL8a9//QtnnHGGu/ydd95BZWUl/vrXv2Ls2LHK/g444AAAwPTp03HMMce4yysqKjBv3jwkEgl8+umnGDNmjLtu+fLlWL58OX7/+9+HOgZBOfnkk/H73/8eRUVFjbI/gsgGEkcEkSN++uknnHzyyejbty8+/vhjdOzY0V130UUXYdSoUTjppJMwd+5c9OnTpwlHqqa+vh6pVAqFhYXG2+zoN7/6+nr89re/xZo1azBt2jRXmDjccsst+Nvf/qbto7i4mHu/du1aAECbNm2Mlot069YNffr0wfTp07nlM2bMgG3bOO644zzrnPfi+HNFPB5HPB5vlH0RRLbs2I93BNGE3HHHHdi2bRseeeQRThgBQIcOHfDwww9jy5YtuOOOO0LvY8WKFTjttNPQuXNnFBUVYdCgQXj88ce5NrW1tZg4cSKGDh2KsrIytGzZEqNGjfK4WZYsWQLLsnDnnXfi73//O3beeWcUFRXhu+++ww033ADLsrBo0SJMmDABbdq0QVlZGU499VRs27aN60eMOXJiTT799FNceuml6NixI1q2bIljjjkG69at47ZNpVK44YYb0K1bN7Ro0QJjxozBd999ZxzHtHXrVlx22WXo0aMHioqK0L9/f9x5552wbZtrZ1kWLrjgAvznP//B7rvv7h67d955x3cfr7zyCubMmYNrr71WKixKS0txyy23aPtgY44mTJiAgw46CABw3HHHwbIsN67nlFNOAQDsu+++sCxLewwOOOAAzJo1C1VVVe6yTz/9FIMGDcJhhx2Gzz//HKlUiltnWRZGjhwJAHjiiSdw8MEHo1OnTigqKsLAgQPx4IMP+h4PGTU1NfjNb36DsrIyfPbZZwDkMUe9e/fGb37zG0yfPh377bcfiouL0bdvXzz11FOePufOnYuDDjoIJSUl6N69O26++WY88cQTFMdE5ASyHBFEjnjjjTfQu3dvjBo1Srr+wAMPRO/evfHGG2/gn//8Z+D+16xZg/3339+90Xfs2BFvv/02Tj/9dFRUVODiiy8GkHatPProozjhhBNw5plnorKyEo899hjGjx+PL7/8EnvuuSfX7xNPPIHq6mqcddZZKCoqQrt27dx1xx9/PPr06YNJkyZh5syZePTRR9GpUydfSwkA/OlPf0Lbtm1x/fXXY8mSJfj73/+OCy64AC+88ILb5uqrr8btt9+OI444AuPHj8ecOXMwfvx4VFdX+/Zv2zaOPPJITJ06Faeffjr23HNPvPvuu7jiiiuwYsUK3HPPPVz76dOn49VXX8V5552H1q1b47777sOxxx6LZcuWoX379sr9vP766wDSbqIoOPvss7HTTjvh1ltvxYUXXoh9990XnTt3BgD0798fjzzyCG666Sb06dMHO++8s7KfAw44AE8//TS++OILN2D6008/xYgRIzBixAiUl5dj3rx5GDx4sLtuwIAB7md98MEHMWjQIBx55JFIJBJ44403cN555yGVSuH88883/jxVVVU46qij8PXXX+P999/Hvvvuq22/aNEi/O53v8Ppp5+OU045BY8//jgmTJiAoUOHYtCgQQDSDwFjxoyBZVm4+uqr0bJlSzz66KM7vJWSaEJsgiAiZ/PmzTYA+6ijjtK2O/LII20AdkVFhW+fAOzrr7/efX/66afbXbt2tdevX8+1+/3vf2+XlZXZ27Zts23btuvr6+2amhquzaZNm+zOnTvbp512mrts8eLFNgC7tLTUXrt2Ldf++uuvtwFw7W3bto855hi7ffv23LJevXrZp5xyivv+iSeesAHYY8eOtVOplLv8kksusePxuL1582bbtm179erVdiKRsI8++miuvxtuuMEGwPUp4z//+Y8NwL755pu55b/73e9sy7LsRYsWucsA2IWFhdyyOXPm2ADs+++/X7ufvfbayy4rK9O2YTnllFPsXr16ccvE73Lq1Kk2APull17i2jnH7quvvvLdz/z5820A9l//+lfbtm27rq7Obtmypf3kk0/atm3bnTt3th944AHbtm27oqLCjsfj9plnnulu75wvLOPHj7f79u3LLTvooIPsgw46SDr2yspK+6CDDrI7dOhgz5o1S/pZFi9e7C7r1auXDcD++OOP3WVr1661i4qK7Msuu8xd9qc//cm2LIvrc8OGDXa7du08fRJEFJBbjSByQGVlJQCgdevW2nbOeqe9KbZt45VXXsERRxwB27axfv1699/48eNRXl6OmTNnAkjHejgxQ6lUChs3bkR9fT322Wcftw3Lscce63EDOpxzzjnc+1GjRmHDhg2oqKjwHfNZZ50Fy7K4bZPJJJYuXQoA+OCDD1BfX4/zzjuP2+5Pf/qTb98A8NZbbyEej+PCCy/kll922WWwbRtvv/02t3zs2LGcJWbw4MEoLS3Fzz//rN1PRUWF7/faFOy2225o3769G0s0Z84cbN261c1GGzFiBD799FMA6VikZDLJuQVLSkrc1+Xl5Vi/fj0OOugg/PzzzygvL/fdf3l5OcaNG4cFCxZg2rRpHoukioEDB3LW1Y4dO6J///7c9/DOO+9g+PDhXJ/t2rXDiSeeaLQPgggKudUIIgeYip7KykpYloUOHToAADZu3Ija2lp3fUlJCcrKyjzbrVu3Dps3b8YjjzyCRx55RNq3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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ncol = 12\n",
    "nrow = 4\n",
    "env = CliffWalkingEnv(ncol, nrow)\n",
    "np.random.seed(0)\n",
    "epsilon = 0.1\n",
    "alpha = 0.1\n",
    "gamma = 0.9\n",
    "agent = QLearning(ncol, nrow, epsilon, alpha, gamma)\n",
    "num_episodes = 500  # 智能体在环境中运行的序列的数量\n",
    "\n",
    "return_list = []  # 记录每一条序列的回报\n",
    "for i in range(10):  # 显示10个进度条\n",
    "    # tqdm的进度条功能\n",
    "    with tqdm(total=int(num_episodes / 10), desc='Iteration %d' % i) as pbar:\n",
    "        for i_episode in range(int(num_episodes / 10)):  # 每个进度条的序列数\n",
    "            episode_return = 0\n",
    "            state = env.reset()\n",
    "            done = False\n",
    "            while not done:\n",
    "                # 根据当前状态选择action\n",
    "                action = agent.take_action(state)\n",
    "                # 通过action得到下一步state,reward,done\n",
    "                next_state, reward, done = env.step(action)\n",
    "                episode_return += reward  # 这里回报的计算不进行折扣因子衰减\n",
    "                agent.update(state, action, reward, next_state)\n",
    "                state = next_state\n",
    "            return_list.append(episode_return)\n",
    "            if (i_episode + 1) % 10 == 0:  # 每10条序列打印一下这10条序列的平均回报\n",
    "                pbar.set_postfix({\n",
    "                    'episode':\n",
    "                    '%d' % (num_episodes / 10 * i + i_episode + 1),\n",
    "                    'return':\n",
    "                    '%.3f' % np.mean(return_list[-10:])\n",
    "                })\n",
    "            pbar.update(1)\n",
    "\n",
    "episodes_list = list(range(len(return_list)))\n",
    "plt.plot(episodes_list, return_list)\n",
    "plt.xlabel('Episodes')\n",
    "plt.ylabel('Returns')\n",
    "plt.title('Q-learning on {}'.format('Cliff Walking'))\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "start_time": "2023-07-04T14:39:03.975095Z",
     "end_time": "2023-07-04T14:39:04.630227Z"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
